import IPython.core.display as di
# This line will hide code by default when the notebook is exported as HTML
di.display_html('<script>jQuery(function() {if (jQuery("body.notebook_app").length == 0) { jQuery(".input_area").toggle(); jQuery(".prompt").toggle();}});</script>', raw=True)
# This line will add a button to toggle visibility of code blocks, for use with the HTML export version
# di.display_html('''<button onclick="jQuery('.input_area').toggle(); jQuery('.prompt').toggle();">Toggle code</button>''', raw=True)
import numpy as np
import pandas as pd
import bokeh.plotting as plt
import bokeh as bk
bk.io.output_notebook()
data = pd.read_csv('NormalizedNCI60.csv', index_col=0)
genes = data.index.values.tolist()
X = data.ix[:,5:]
# genes
X['index'] = list(range(len(genes)))
X = X.set_index('index')
def polar_to_cart(sample,X,len_, radius_off_set=1):
theta = np.arange(0, len_)*2*np.pi/len_
rho = X[sample]/np.max(X[sample]) + radius_off_set
x = rho*np.cos(theta)
y = rho*np.sin(theta)
return x, y
# theta = np.arange(0, len(genes))*2*np.pi/len(genes)
# rho = X['ME:LOXIMVI']/np.max(X['ME:LOXIMVI']) + 1.5
# x = rho*np.cos(theta)
# y = rho*np.sin(theta)
# X['ME:MALME_3M']
x0,y0 = polar_to_cart('ME:LOXIMVI', X, len(genes), radius_off_set=0.5)
x1,y1 = polar_to_cart('ME:M14', X, len(genes), radius_off_set=1.5)
x2,y2 = polar_to_cart('ME:MALME_3M', X, len(genes), radius_off_set=2.5)
SOURCE0 = plt.ColumnDataSource(
data=dict(
x0 = x0,
y0 = y0,
labels = genes
)
)
SOURCE1 = plt.ColumnDataSource(
data=dict(
x1 = x1,
y1 = y1,
labels = genes
)
)
SOURCE2 = plt.ColumnDataSource(
data=dict(
x2 = x2,
y2 = y2,
labels = genes
)
)
hover = bk.models.HoverTool(
tooltips=[('Gene', '@labels')]
)
TOOLS="resize,crosshair,pan,wheel_zoom,box_zoom,reset,box_select,lasso_select,save"
TOOLS = [TOOLS, hover]
p = plt.figure(tools=TOOLS, webgl=False)
# p.grid.grid_line_color = None
p.line(x0, y0, alpha=0.5, color='navy')
p.circle(x0, y0, fill_alpha=0.2, line_color=None, fill_color='navy', source=SOURCE0, legend='ME:LOXIMVI')
p.line(x1, y1, alpha=0.5, color='red')
p.circle(x1, y1, fill_alpha=0.2, line_color=None, fill_color='red', source=SOURCE1, legend='ME:M14')
p.line(x2, y2, alpha=0.5, color='green')
p.circle(x2, y2, fill_alpha=0.2, line_color=None, fill_color='green', source=SOURCE2, legend='ME:MALME_3M')
p.axis.visible=None
plt.show(p)
Source_ = plt.ColumnDataSource(
data = dict(
labels = genes,
theta = np.arange(0, len(genes))*2*np.pi/len(genes),
rho0 = X['ME:LOXIMVI'],
rho1 = X['ME:M14'],
rho2 = X['ME:MALME_3M'],
rho3 = X['ME:MDA_MB_435'],
)
)
hover = bk.models.HoverTool(
tooltips=[('Gene', '@labels')]
)
TOOLS="resize,crosshair,pan,wheel_zoom,box_zoom,reset,box_select,lasso_select,save"
# TOOLS = [TOOLS, hover]
p0 = plt.figure(tools=[TOOLS, hover], title='ME:LOXIMVI')
p0.grid.grid_line_color = None
p0.line('theta', 'rho0', alpha=0.5, source=Source_)
p0.circle('theta', 'rho0', fill_alpha=0.2, line_color=None, fill_color='navy', source=Source_)
# p0.y_range = plt.Range1d(start=0, end=0.02)
p1 = plt.figure(tools=TOOLS, title='ME:M14')
p1.grid.grid_line_color = None
p1.line('theta', 'rho1', alpha=0.5, source=Source_)
p1.circle('theta', 'rho1', fill_alpha=0.2, line_color=None, fill_color='navy', source=Source_)
# p1.y_range = plt.Range1d(start=0, end=.02)
p2 = plt.figure(tools=TOOLS, title='ME:MALME_3M')
p2.grid.grid_line_color = None
p2.line('theta', 'rho2', alpha=0.5, source=Source_)
p2.circle('theta', 'rho2', fill_alpha=0.2, line_color=None, fill_color='navy', source=Source_)
# p2.y_range = plt.Range1d(start=0, end=.02)
p3 = plt.figure(tools=TOOLS, title='ME:MDA_MB_435')
p3.grid.grid_line_color = None
p3.line('theta', 'rho3', alpha=0.5, source=Source_)
p3.circle('theta', 'rho3', fill_alpha=0.2, line_color=None, fill_color='navy', source=Source_)
# p3.y_range = plt.Range1d(start=0, end=.02)
p = plt.vplot(p0, p1, p2, p3)
plt.show(p)